package main

import "fmt"

func main() {

	//	定义管道，声明管道，定义一个int 类型的管道
	var intChan chan int
	//	通过make初始化：管道可以存放3个int类型的数据;3是容量
	intChan = make(chan int, 3)

	//	证明管道是引用类型
	fmt.Printf("intChan的值： %v \n", intChan) //  0xc00011a080

	//向管道存档数据
	intChan <- 10
	num := 20
	intChan <- num
	//intChan <- 40

	// 不能存放大于容量的数据
	intChan <- 80

	//	在管道中读取数据
	num1 := <-intChan
	num2 := <-intChan
	num3 := <-intChan

	//	输出管道内的值
	fmt.Println(num1)
	fmt.Println(num2)
	fmt.Println(num3)

	//	当管道内没有值，会报错
	//num4 := <-intChan
	//fmt.Println(num4)

}
